home *** CD-ROM | disk | FTP | other *** search
/ The Atari Compendium / The Atari Compendium (Toad Computers) (1994).iso / files / prgtools / mint / shells / sh03src.zoo / sh-pl03 / sh / Makefile < prev    next >
Encoding:
Makefile  |  1993-06-03  |  4.0 KB  |  124 lines

  1. #    %W% (Berkeley) %G%
  2.  
  3. # Makefile for Kenneth Almquist's Bourne Shell for Atari ST/MiNT
  4. # hohmuth 21 Mar 1993
  5. # This Makefile needs GNU Make.
  6.  
  7. PROG=    sh
  8. SRCS=    builtins.c cd.c dirent.c bltin/echo.c error.c eval.c exec.c expand.c \
  9.     input.c jobs.c mail.c main.c memalloc.c miscbltin.c \
  10.     mystring.c nodes.c options.c parser.c redir.c show.c signames.c \
  11.     syntax.c trap.c output.c var.c
  12. OBJS=    $(patsubst %.c,%.o,$(SRCS)) init.o
  13.  
  14.  
  15. CC=    gcc $(MODEL) -O2 -fomit-frame-pointer -fstrength-reduce
  16. CFLAGS=    -I. -Ibltin $(DEFS)
  17.  
  18. MODEL=    -mbaserel
  19. DEFS=    -DDOSFS -DSHELL -DENOTDIR=EPATH
  20.  
  21. POSTPROC1=    toglclr -fload -fram -frun
  22.  
  23. all:    $(PROG)
  24.  
  25. $(PROG): $(OBJS)
  26.     $(CC) -o $@ $^ -lbiio
  27. ifdef POSTPROC1
  28.     $(POSTPROC1) $@
  29. endif
  30.  
  31. %.o:    %.c
  32.     $(CC) $(CFLAGS) -o $@ -c $<
  33.  
  34. parser.o: token.def
  35. token.def: mktokens
  36.     /bin/sh mktokens
  37.  
  38. builtins.h builtins.c: mkbuiltins builtins
  39.     /bin/sh mkbuiltins
  40.  
  41. init.o: mkinit ${SRCS}
  42.     ./mkinit '${CC} -c ${CFLAGS} init.c' ${SRCS}
  43.  
  44. mkinit: mkinit.c
  45.     ${CC} ${CFLAGS} mkinit.c -o $@
  46.  
  47. nodes.c nodes.h: mknodes nodetypes nodes.c.pat
  48.     ./mknodes nodetypes nodes.c.pat
  49.  
  50. mknodes: mknodes.c
  51.     ${CC} ${CFLAGS} mknodes.c -o $@
  52.  
  53. signames.c signames.h: mksignames
  54.     ./mksignames
  55.  
  56. mksignames: mksignames.c
  57.     ${CC} ${CFLAGS} mksignames.c -o $@
  58.  
  59. syntax.c syntax.h: mksyntax
  60.     ./mksyntax
  61.  
  62. mksyntax: mksyntax.c parser.h
  63.     ${CC} ${CFLAGS} mksyntax.c -o $@
  64.  
  65. .PHONY: clean
  66. clean:
  67.     -rm -f ${OBJS}
  68.  
  69. .PHONY: realclean
  70. realclean: clean
  71.     -rm -f mksyntax syntax.c syntax.h
  72.     -rm -f mksignames signames.c signames.h
  73.     -rm -f mknodes nodes.c nodes.h
  74.     -rm -f mkinit init.c
  75.     -rm -f builtins.c builtins.h
  76.     -rm -f token.def
  77.     -rm -f ${PROG}
  78.  
  79. ### dependencies
  80.  
  81. builtins: ;
  82.  
  83. builtins.o : builtins.c shell.h builtins.h 
  84. cd.o : cd.c shell.h var.h nodes.h jobs.h options.h output.h memalloc.h error.h \
  85.   mystring.h 
  86. dirent.o : dirent.c shell.h 
  87. error.o : error.c shell.h main.h options.h output.h error.h
  88. mksyntax.o : mksyntax.c parser.h 
  89. eval.o : eval.c shell.h nodes.h syntax.h expand.h parser.h jobs.h eval.h builtins.h \
  90.   options.h exec.h redir.h input.h output.h trap.h var.h memalloc.h error.h mystring.h 
  91. exec.o : exec.c shell.h main.h nodes.h parser.h redir.h eval.h exec.h builtins.h \
  92.   var.h options.h input.h output.h syntax.h memalloc.h error.h init.h mystring.h 
  93. expand.o : expand.c shell.h main.h nodes.h eval.h expand.h syntax.h parser.h \
  94.   jobs.h options.h var.h input.h output.h memalloc.h error.h mystring.h 
  95. input.o : input.c shell.h syntax.h input.h output.h memalloc.h error.h 
  96. mksignames.o : mksignames.c 
  97. jobs.o : jobs.c shell.h main.h parser.h nodes.h jobs.h \
  98.   options.h trap.h signames.h syntax.h input.h output.h memalloc.h error.h mystring.h 
  99. mail.o : mail.c shell.h exec.h var.h output.h memalloc.h error.h 
  100. main.o : main.c shell.h main.h mail.h options.h output.h parser.h nodes.h eval.h \
  101.   jobs.h input.h trap.h memalloc.h error.h init.h mystring.h 
  102. memalloc.o : memalloc.c shell.h output.h memalloc.h error.h machdep.h mystring.h 
  103. miscbltin.o : miscbltin.c shell.h options.h var.h output.h memalloc.h error.h \
  104.   mystring.h 
  105. mystring.o : mystring.c shell.h syntax.h error.h mystring.h 
  106. nodes.o : nodes.c shell.h nodes.h memalloc.h machdep.h mystring.h 
  107. options.o : options.c shell.h options.h nodes.h eval.h jobs.h input.h output.h \
  108.   trap.h var.h memalloc.h error.h mystring.h 
  109. parser.o : parser.c shell.h parser.h nodes.h expand.h redir.h syntax.h options.h \
  110.   input.h output.h var.h error.h memalloc.h mystring.h token.def 
  111. redir.o : redir.c shell.h nodes.h jobs.h expand.h redir.h output.h memalloc.h \
  112.   error.h 
  113. show.o : show.c shell.h parser.h nodes.h mystring.h 
  114. signames.o : signames.c shell.h 
  115. syntax.o : syntax.c shell.h syntax.h 
  116. trap.o : trap.c shell.h main.h nodes.h eval.h jobs.h options.h syntax.h signames.h \
  117.   output.h memalloc.h error.h trap.h mystring.h 
  118. output.o : output.c shell.h syntax.h output.h memalloc.h error.h
  119. var.o : var.c shell.h output.h expand.h nodes.h eval.h exec.h syntax.h options.h \
  120.   mail.h var.h memalloc.h error.h mystring.h 
  121. init.o : shell.h mystring.h eval.h input.h error.h options.h redir.h \
  122.   signames.h trap.h output.h memalloc.h var.h 
  123.